package cn.cdeden.knowledge.domain.dto;

//import io.swagger.annotations.ApiModelProperty;

import cn.cdeden.common.translation.annotation.Translation;
import cn.cdeden.common.translation.constant.TransConstant;
import cn.cdeden.knowledge.domain.TeamType;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author Chen
 * @date 2022-09-05
 */
@Data
@Builder
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class TeamDto implements Serializable {
    private static final long serialVersionUID = 1L;

    //    @ApiModelProperty(value = "编号")
    private Integer id;

    //    @ApiModelProperty(value = "团队名称")
    private String teamName;

    //    @ApiModelProperty(value = "团队类型")
    private String type;

    //    @ApiModelProperty(value = "添加团队成员的默认角色")
    private String defaultRole;

    //    @ApiModelProperty(value = "说明")
    private String instructions;

    //    @ApiModelProperty(value = "头节点Id")
    private String headNodeId;

    //    @ApiModelProperty(value = "Minio桶名称")
    private String minioBucket;

    //    @ApiModelProperty(value = "团队所有者id")
    private String owner;

    //    @ApiModelProperty(value = "团队所有者名字")
    @Translation(type = TransConstant.USER_ID_TO_NICKNAME)
    private String ownerName;

    //    @ApiModelProperty(value = "空间大小")
    private Long space;

    //    @ApiModelProperty(value = "已用空间")
    private Long usedSpace;

    //    @ApiModelProperty(value = "收藏")
    private String collection;

    //    @ApiModelProperty(value = "项目创建团队角色成员对象")
    List<ProRoleToTeamRole> members = new ArrayList<>();

    //    @ApiModelProperty(value = "创建编号")
    private String createId;

    //    @ApiModelProperty(value = "创建者")
    private String createBy;

    //    @ApiModelProperty(value = "创建者名字")
    @Translation(type = TransConstant.USER_ID_TO_NICKNAME,mapper = "createId")
    private String createName;

    //    @ApiModelProperty(value = "创建日期")
    private Date createTime;

    //    @ApiModelProperty(value = "更新编号")
    private String updateId;

    //    @ApiModelProperty(value = "更新者")
    private String updateBy;

    @Translation(type = TransConstant.USER_ID_TO_NICKNAME,mapper = "updateId")
    private String updateName;

    //    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    //    @ApiModelProperty(value = "删除编号")
    private String deleteId;

    //    @ApiModelProperty(value = "删除者")
    private String deleteBy;

    //    @ApiModelProperty(value = "删除时间")
    private Date deleteTime;


    //    @ApiModelProperty(value = "模板文件")
    private Long templateId;

    //    @ApiModelProperty(value = "模板名称")
    private String templateName;

    //    @ApiModelProperty(value = "角色列表")
    List<TeamRoleDto> roleDtoList = new ArrayList<>();

    //    @ApiModelProperty(value = "团队分类id")
    private List<TeamType> types;


}
